package cn.sdfykjyxgs.syncommon.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.IsAutoIncrement;
import com.gitee.sunchenbin.mybatis.actable.annotation.IsKey;
import lombok.Data;

import java.util.Date;

/**
 * 文件变化日志
 */
@Data
@TableName(value = "FILE_CHANGE_LOG")
public class FileChangeLog {
    @TableId(value = "id", type = IdType.AUTO)
    @IsKey
    @IsAutoIncrement
    @Column(name = "id", comment = "主键")
    private Integer id;

    private String key;
    /**
     * 路径
     */

    private String url;
    /**
     * 名称
     */
    private String name;
    /**
     * 文件类型 0文件夹 1文件 2文件名
     */
    @TableField("fileType")
    private Integer fileType;
    /**
     * 文件逻辑
     */
    private String logic;
    /**
     * 变动时间
     */
    private Date time;
    /**
     * 文件最终修改时间
     */
    @TableField("fileLatestTime")
    private Date fileLatestTime;
    /**
     * 版本号
     */
    private Integer version;
    /**
     * 备注
     */
    private String remark;
    /**
     * 同步状态 false true
     */
    @TableField("synStatus")
    private Boolean synStatus;

    /**
     * 文件同步进度
     */
    @TableField(exist = false)
    private Long progress = 0L;

    /**
     * 上层级key 用于文件或文件夹被修改后保存上级目录的key sql查找文件目录
     */
    @TableField("keyHierarchy")
    private String keyHierarchy;
    /**
     * 文件同步重试次数
     */
    @TableField(exist = false)
    private Long retryCount= Long.valueOf(0);
}
